/*

使用arduino micros()微秒定时函数写的舵机PWM输出库，arduino官方文档中注明micros()会在70分钟后重置。
   
   
                                                                                            方布块
                                                                                        2022年9月8日
*/
#include "Servo_LuatEsp32c3.h"

void Servo::Servo_Rotation(int16_t degree){
  if(micros()>=_servo_timer+20*1000 && degree<=_servo_max_degree && degree>=0){
    _servo_timer=micros();
    digitalWrite(_pin,HIGH);
    delayMicroseconds(500+int(2000/_servo_max_degree)*degree); 
    digitalWrite(_pin,LOW);
  }  
}


void Servo::Servo_Setup(int8_t pin,int16_t servo_max_degree){
    pinMode(pin,OUTPUT);
    _pin=pin;
    _servo_max_degree=servo_max_degree;

}